package jpaperwork.meta.transformer;

import jpaperwork.meta.descriptor.*;
import jpaperwork.meta.transformer.path.Path;

import java.util.List;


public interface FormBuilder {
    Object buildFlat(Path path, Flat flat, Object transformee);
    Object buildForm(Path path, Form form, List<FieldValue> transformedFields);
    Object buildCollection(Path path, Aggregation aggregation, List transformedValues);

    Object buildPolymorhpic(Path path, Polymorphism polymorphism, DiscriminatedType actualType, Object transformedValue);
}
